<HTML>
<HEAD>
<TITLE>Programming Python, 4th Edition</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">

<H1>About <I>Programming Python, 4th Edition</I></H1>
<p>
<HR>
</p>

<table>
<tr>

<td>
<A HREF="ora-pp4e-large.jpg"><IMG SRC="ora-pp4e-small.gif" ALIGN=left hspace=20 vspace=5 ALT="[cLick for larger book Cover]"></A>
</td>

<td>
<p>
[December 2010] The new, 4th Edition of this book, a Python classic, is now available. 
It was submitted to the publisher in July, 2010, and went to the printers on December 13th.
It was first released in ebook form from O'Reilly on December 15th, and became more widely 
available in paper and other forms from retailers on January 5th, 2011.

<p>
This edition uses Python 3.X (only), and has been updated substantially for current 
Python best practice and new Python tools.  Despite the new coverage, it is roughly 
the same size as the prior edition, and still serves as a tutorial that teaches 
how to use Python in common application domains, and a follow-up to
<A HREF="about-lp4e.html">Learning Python</A>.

<p>
There's more on this book's content and scope below, but for a brief description see 
the book's early draft <A HREF="pp4e-preface-preview.html">Preface preview</A>, 
as well as the discussion of Python 3.X's implications for this book on the 
<A HREF="lp4e-updates-notes-recent.html#s2">Learning Python notes page</A>.
Among other things, the pervasiveness of Unicode in 3.X has broad 
impacts on both this edition and Python programmers in general.

<p>
Of note: figures and images in the PDF and other ebooks are all <i>in color</i> this time around -- 
a nice feature for a book with 302 screenshots.  In addition, the print form of this edition uses
a <i>higher quality paper</i>, which minimizes bleed-through, makes the book roughly 1/4 inch 
thinner, and povides a lay-flat format throughout which is remarkable for a book this size.

<p>
For another perspective, see O'Reilly's 
<A HREF="http://oreilly.com/catalog/9780596158101/">catalog page</A>
for this book with description and cover shots.  Naturally, there are 
also pages for this book on amazon.com and other booksellers.
</p>
</td>
</tr>
</table>

<H2>Resources</H2>
<p>
<UL>
<LI><A HREF="http://examples.oreilly.com/9780596158118/">The book examples distribution package</a>
<LI><A HREF="pp4e-updates.html">The book updates page: notes, clarifications, corrections</A>
<LI><A HREF="pp4e-preface-preview.html">A preview of the book's Preface (early draft)</A>
<LI><A HREF="http://oreilly.com/catalog/9780596158101/">O'Reilly's catalog page for this book</A>
</UL>
</p>

<H2>This book and its relatives</H2>
<p>
This book retains the applications-programming focus of its prior editions: it's 
about what you can <i>do</i> with Python after you've learned the core language.  
It focuses on the libraries, tools, and techniques used in realistic applications 
development work.

<p>
Along the way, this book provides gradual tutorials and develops non-trivial
Python programs in a variey of common domains: the Web and Internet, GUIs, systems 
administration, databases, text processing, networking, parallel programming, 
Python/C integration, and more.  Although new and emerging technologies are also
discussed, this book's main goal remains teaching fundamentals of Python applications
which span systems, rather than the transient bleeding-edge.

<p>
As such, this edition is designed to work best as the second in a two volume set: 
it's intended to be a natural follow-up to the language fundamentals book 
<A href="about-lp4e.html"><i>Learning Python</i></A>, and augmented by the 
reference book <A href="about-pyref4e.html"><i>Python Pocket Reference</i></A>.
These other books are not strictly required reading, but their topics and material 
are assumed prerequisites.  <i>Programing Python</i> builds upon 
<i>Learning Python</i>'s knowledge base, to tell the rest of the Python story.
</p>



<H2>Specific contents</H2>
<p>This edition's main parts are similar to those of the prior edition:

<OL>
<LI><B>Introduction</B>: <i>a quick first pass over topics to be covered</i>
<LI><B>Systems</B>: <i>systems programming and administration, parallel processing</i>
<LI><B>GUIs</B>: <i>in-depth user interface coverage with Python's tkinter toolkit</i>
<LI><B>Internet</B>: <i>networking, client and server techniques, web sites</i>
<LI><B>Tools</B>: <i>databases, data structures, text and language, C integration</i>
<LI><B>Conclusion</B>: <i>a wrap-up on Python's roles in development at large</i>
</OL>
</P>

<H3>Example programs</H3>
<P>
Besides its tutorials, much of this book's meat lies in its example code.  Each 
part includes substantial working examples, including full chapters devoted to larger 
programs in the systems, GUI, and Internet parts.  Although smaller and self-contained
examples show up too, this book's scope and size allow it to also present more complete
programs, the largest of which span multiple chapters and parts, and top out at 
thousands of lines of code.  Among these examples, photo viewers, calculators,
email clients, webmail sites, and Unicode-aware text editors serve both to teach 
full-scale applications work, and to demonstrate Python's utility as a general systems 
development tool.  See above to fetch the book's examples.
</p>

<HR>
<P>
<I>Back to the <A HREF="about-pp.html">Programming Python page</A></I><BR>
<I>Back to my <A HREF="index.html">homepage</A></I><BR>
</P>

</BODY>
</HTML>
